Game System with Interactive Show Control

ABSTRACT

An interactive game system that stage lighting style cues as part of the game, where the stage lighting cues cause external stage lighting equipment to create effects that are based on outputs from the game. Steerable lights can be steered to the player and sounds can be created that are directed to the player. A simulation system can also simulate the actions that occur. The computer assigns teams.

This is a continuation in part of Ser. No. 14/167,011, filed 29 Jan.2014, which claims priority from 61/757,964, filed Jan. 29, 2013, theentire contents of both of which are herewith incorporated by reference.

BACKGROUND

Today's game systems typically run on a computer platform. The computercan run the games, and also produces outputs to interact with theplayers, and receives inputs from those players. For example, the gamingsystem operates by automatically interacting with the players andproducing sounds.

SUMMARY

The present application describes a game system that uses a number ofservers that each interact with one another, and can automaticallyinteract with multiple different external devices.

The device interacts with show control devices, e.g., stage lighting, aspart of a game system. This enables lighting effects to be created in aroom that are controlled by and synchronized with the game.

Another aspect describes player controlled and/or synchronized showcontrol based on actions in an interactive game.

Another aspect describes an emulator that emulates not only actions inthe game, but also in the room housing the game.

Embodiments describe the way that events and states are sent betweencomputers in a way that maintains the synchronization between thecomputers. Another aspect of this allows this to be done in the contextof an interactive game, and indicates how the players can enter the gamevia events and states.

Another embodiment describes more detail about how player positions aremonitored and maintained and tracked. One aspect of this embodimentdescribes a game system where the game starts when users are properly inplace

BRIEF DESCRIPTION OF THE DRAWINGS

in the drawings:

the figures show aspects of the invention, where;

FIG. 1 shows a block diagram showing the operation of theinterconnecting computers making up the invention;

FIG. 2 shows a block diagram of computers of an embodiment;

FIG. 3 shows a specific gaming room or area according to a firstembodiment;

FIG. 4 shows a second gaming room or area called the stage;

FIG. 5 shows another gaming room or area which has barriers fordetecting locations of people;

FIG. 6 shows another gaming room or area with a big screen dome;

FIG. 7 shows another gaming room with an interactive floor;

(finish)

DETAILED DESCRIPTION

Embodiments described herein that uses multiple different cascadingservers in order to carry out game functions in a special light and/orsound controllable room. The servers enable many different devices to beintegrated into the game. One advantage of this system is that thisenables peripherals to be used of a type which are not normally used ingames.

For example, one embodiment describes producing stage lighting stylecues as part of the game, where the stage lighting cues cause externalstage lighting equipment to create effects that are based on things thathappen in the game. In essence, the game controls the cues, therebycausing the game to control outputs that have previously been controlledonly as part of the stage lighting system. This creates interactivestage lighting effects that become part of the game experience.

One aspect is that the game is specifically configured or “tuned” for aspecific room. The specific rooms that can be used are describedthroughout this specification. In one embodiment, there can be a specialgaming area, that has multiple different rooms for multiple differentformats of games. The embodiments are shown in the figures and describedherein.

FIG. 1 illustrates a flow of the game, and shows the interaction of thevarious servers. According to an embodiment, there are a number ofcontrollers, and each player uses one controller. The controllers inthis embodiment are portable computers with input capability and displayscreens and sound output. An embodiment uses an iPod touch controller,however, any portable computer can be used for this purpose.

As illustrated in FIG. 1, the basic system includes a game engine 100,connected to a game server 150, which is connected via a wirelessconnection 151 to one or more controllers. The controllers are shown ascontroller 190 and controller 191. The wireless connection can be anykind of connection, such as Bluetooth, Wi-Fi, or cellular.

In operation, the game server operates by starting two differentconnections. An HTTP connection 155 is initially used to discover andconfigure the controllers, such that subsequent communication can bedirectly from the game engine 100 discussed herein, to the controllers.The game server also starts an XMPP server 160 that sends messages backand forth to the controllers.

The HTTP server instructs the controller to open, and to load XM PP dataas shown as 192 in FIG. 1. Roster data is then connected, and the XM PPserver serves as a gateway to the game engine 100 which is operated asdescribed herein. At 194, the controller then obtains game registrationinformation directly from the game engine, and sends a unique addresssuch as an IP address at 195. At 196 the controller opens the game viewthat is sent from the game engine.

The game engine flow is shown as on the left side of FIG. 1, where thesystem first opens and contacts the XM PP server. Each of the clients isa controller that has communicated with the XM PP server. At 107, thegame engine loads a roster of those clients, and from that at 108 findsthe online controllers. Different controllers can be online at differenttimes. This presupposes that all the controllers have beenpreconfigured, but another embodiment can allow users to use their ownunits such as their own smart phones or tablets, and the action offinding the controllers and finding the roster may include finding theuser's online controllers.

In one embodiment, the user's personal smartphone or tablet is used asthe controller in the game. The game is carried out within apay-to-enter facility also referred to herein as the multiplex, so theusers must pay in order to go in. In one embodiment, when the users pay,actions are taken to automatically register the smart phone/tablet toallow that smart phone/tablet to interact with the game. In this way,two tiers of admission can be possible. People can be admitted but notallowed to play the games, in essence only spectators. Those peoplemight be charged a first admission fee, which is a lower version of theadmission fee. However, those users will be prohibited from interactingwith the game. Users who want to play in the game are charged adifferent level, presumably higher, admission fee. This produces theadvantage that the users can either accompany someone else who isplaying without getting charged a higher rate, or can simply go in tolook around. More details about the specific area are described hereinas the different parts of the multiplex.

Once a controller is registered, at 110 game engine begins communicatingdirectly via 111 to the registered controller. The game engine receivesthe controller's IP address at 111 and sends the game data to theclients, causing those clients to open their game view. When allcontrollers are ready at 115, again start message is sent to thecontrollers, and the controllers begin the game at 197.

In one embodiment, a number of different computers can be used as partof either the game engine or the game server, to communicate withexternal devices. One embodiment can be use an LED wall 120 to receivethe game outputs, so that the LED wall becomes part of the gameoperation. Other outputs to other professional caliber devices can alsobe used. For example, outputs can be to the stage lights 121 or to MIDI122. An embodiment can send MIDI information to an external MIDI devicethat may produce the sounds. Different outputs can send cue information,e.g., in DMX-512 format, to various parts in the room.

FIG. 2 illustrates a block diagram of the overall system, including thedifferent parts of the system. The game server 150 communicates with thegame engine 110 as described previously. In addition, the game serverproduces sound outputs 210 which can be in open sound control or OSCformat. The OSC format outputs can be converted to MIDI by a converter215. The MIDI outputs can create both audio playback via the MIDIcontroller and also an audio output 220. The OSC output can also createMIDI which creates lighting output via a lighting console 225. Thelighting console 225 may control a stage lighting media server such asthe M box 230. This in itself can control stage lighting projectors andlighting devices including a Marquee projector 235, as well as washstyle lighting, such as the versa tubes at 240 which are lightcontrollable and dimmable tubular elongated light devices.

The game engine may also produce outputs which are combined together bywarp processors and DVI switches 250 with canned playback. For example,the canned playback may include different forms of playback shown as 251and 252. The canned playback can be lighting cues, video output, orsound output. The output can also control cinema projectors 255, 260. Inaddition, this can control either directly or through a separatecomputer LED walls 207.

In essence, this becomes player controlled show control, where showcontrol is used to control the aspects of the game under control of thegame, and based on actions that occur in the game. Unlike previoussystems in which the game designer created the content, this enables alighting or audio designer to create content that is used in the game.The content created by the lighting or audio designer formed into apallet of cues where each cue controls multiple different lightingdevices and/or sound devices to create an effect. The game designselects one or more of those cues to be displayed. The cues can besound, light, fog or any other stage controlled feature.

The sound can be played in the area, but can also be played on thehandheld controlling device as part of the game. Lighting can also becontrolled to appear on the screen of the mobile device.

Another aspect keeps track of the locations of the differentcontrollers, within the area and uses the player's location in the realworld as an input for the virtual world game. For example, if player 1is at location x1, y1 in the area, the system can automaticallydetermine that, and can produce game outputs that are directed to thearea location x1, y1 to illuminate or make sounds to the player. In onegame, for example, when the player meets a milestone, the playerautomatically receives certain sounds and/or a lighting effects such asa spotlight that shines on the player. In this embodiment, the systemcan keep track of the location of the player. When the player meets thatmilestone, the sound can automatically be played in that location.

Another embodiment describes an emulator, for the game, that shows whatthe game will look like with people in the room in the arena shownherein. This emulates the real space but also controls the real space.

An embodiment uses this system into form a multiplex gaming destination,that combines live action, digital, and social gaming in a spectacularlyimmersive environment. The multiplex embodiment described herein and asshown in FIG. 3, has four different game theaters, combined with a largerestaurant and several smaller cafes and bars. The theaters in oneembodiment are intended to be flexible, modular spaces equipped withimmersive media capabilities. The four game theaters can include theWorld, the Arena, the Cabaret, the Floor, each described herein. Eachtheater supports a different gaming platform. These spaces alsoaccommodate some form of queuing, which in most theaters acts as acomfortable viewing area for spectators as well.

Each of the different theaters can be an immersive theater with largescreen projections and theatrical lighting and sound systems thattogether create a variety of “worlds.” Players arrayed on an open floorin front of the screens, act together or individually to control whathappens in the. World. Each player uses a digital device—a tablet—tocommunicate with the screen. Holding the device in both hands, playersmove their avatars on the screen to direct the action. The devices havea vibration capability, which also creates tactile responses to play.The embodiment described herein describes different games which areintended for play in a different theater. A brief description of thegames follows.

Game 1: Spotter Players see a changing crowd of recognizable celebritieson the large screen. A list of celebrities' names appears on eachplayer's device, along with as unique hat avatar. Using their digitaldevices, players guide their hats across the large screen and onto theheads of celebrities. The player who gets the most hats on the mostcelebrities from his or her list wins the game. As the rounds progress,the numbers of celebrities increase, and the players receive Apples andEggs to knock off other players hats, thus lowering their scores. Game2: SnB On the large screen, players see thousands of particles streamingacross the screen. Using a hand-held digital device, each playercontrols an on-screen Turret that sucks up the particles. By rotatingthe device, players try to position the Turret to suck up the mostparticles (thereby getting points). At the same time, they must avoidbig, bad, red particles (which lose them points) by blowing them away.To do so, they tap a “blow” icon on their hand-held devices, which makesthe Turret blow instead of suck. The players compete in two teams, withthe winning team being the one with the most points after three rounds.

FIG. 4 illustrates a first gaming room referred to as the stage. Thisdevice includes tables and chairs along with environmental lighting withprogrammable spotlights. FIG. 4 shows only a few of these lights 400,402, however it should be understood that there can be many of theselights. Any of these lights can be pan and tilt controllable lights. Inaddition to the lighting, there are also tables shown as 410, 412 and414. The controller device shown as 415 can be moved from table totable, as the users move from table to table. Also, a motion trackingdevice 420 can detect the location of the device 415. Again, only onedevice is shown, although it should be understood that many differentdevices can be used in the system.

A video projector 421 is shown associated with the table 412, however,the different tables 410, 412, 414 can each include their own videoprojector or the video projector can be pan and tilt controllable. Forexample, this can use a digital light configured as a video projector.

In operation, the CPU 450 can include all or any of the controllerspreviously discussed. The CPU controls each of the devices according tothe game engine. A wireless LAN device 455 communicates with each of thedevices. In addition, the CPU produces show control outputs whichcontrol a show control device 460 such as a lighting console. Outputsfrom the console are displayed on the display screen 470.

The tables can be a series of multi-touch tables and a number of largedisplays. Players can use their tablets and the table as input devicesfor each game. The multi-touch table can detect discrete objects placedon the table and can distinguish between objects using uniqueidentifiers which could be RFID based devices or the unique shapes ofthe items. Items from the bar/restaurant have built in identifiers andallow patrons to interact with the tables. The tables can also includetouch screens. LCD touchscreen tables such as the Samsung SUR40 can beused to provide the required sensing technology. The large projectionscreen can be tied to the games on the tables or stand alone. Camerasprovide live feeds and can pinpoint players and show them on the largeprojection; games are support by multi-channel audio and a theatricallighting system.

FIG. 5 represents a different immersive environment referred to as the“arena”. The arena includes raised floors with ramps that haveenvironmental lighting. As in the stage, there can be multiple lightingdevices shown as 500, controlled by the show control device 502 based onoutputs from the CPU 504. Of course, the CPU 504 can be the same as theCPU 450. Speakers such as 506 can also be controlled in an analogousway. In this embodiment, users can wear a wearable device 510 such as avest or necklace, and can also include their controller such as 512. Thewearable device 510 can interact with the different barriers that areproduced or located throughout the location. One such area was shown is520, and this may include an integrated touchscreen 522 as well as anRFID device 524. The RFID device can be used to communicate with acorresponding RFID on either the device 512 or on the wearable device510. The beacon device can also include integrated LED lighting which526 which becomes part of the game. The beacon device 520 is shown asbeing substantially triangular in cross-section. There can also be otherdevices including the barrier device 530 which includes LED lighting531, and other barrier devices 540 which do not include LED lighting.The barrier without LED lighting can be illuminated by a video projector541.

Each of the barriers can include beam breakers shown as 533 which cantrack the location of the user.

Barriers can be internally illuminated, include a large touchscreen orbe without display technology and act as a projection surface forceiling mounted projectors. RFID readers, beam-break technology and asturdy connector that allows physical props to connect to each barrierengage the player in physical challenges. Physical props include itemssuch as balance beams, large button pads, scales, rope-swings, and laserbeam break supported by a fog machine.

The overall space includes a multi-channel audio system to support thegame play along with theatrical lighting. A players tablet and deviceallow them to input information, control interactions in the space,communicate, gather information, and identify players to one another.

The dome is shown in FIG. 6, and can include a large screen dome 600 inaddition to or in place of the devices previously discussed. This devicecan include bleacher seating 605 so that all users can see the contentsof the dome.

The floor shown in FIG. 7 can be an interactive floor 700 allowing thelocation on the floor to be used as part of the game.

In any and all of these embodiments, the user's locations can betracked. when players visit the space, their position and gameperformance is tracked. Players that visit the space will, at a minimum,create a guest membership account to track stats and displayaccomplishments during a single play session. The full membershipincludes a profile that is created on-site or online that includestracking of all achievements and actions, allowing for a fullycustomized and simplified experience. All transactions are then linkedto the user's account, allowed the player to streamline everything fromdrink orders, to merchandise sales, to game sessions, to micro-sales.The profile includes meta-data about the player, a gaming handle, anavatar with customization capabilities, and all Meta data and game data.

All of these areas can allow users to interact with the games and eachother. Devices and Touchscreens can control elements on the Big Screenthrough touch but also through a unique identifier. One approach forcontrol is through tracking the unique identifier. The unique identifiercan be a QR type barcode or an IR emitter that is either on the back ofthe device or on an attachment that connects to the device. The uniqueidentifier will be detected using cameras or other sensing devicesplaced around the room. The device position and angle is able to beaccurately detected so that it can control and interact with the maindisplay screen in the area (e.g. the big screen 470 and stage, or thebig screen 600 in the dome or the scoreboard 702 in the floor). Thedifferent rooms also include cameras or other kinds of movementdetectors. When cameras are used, they can be used to allow foraugmented reality moments in which the player sees themselves on thescreen.

Each of the areas also includes a multi-channel audio system to supportthe game play along with theatrical lighting.

Therefore, all of the different areas have different layouts, but have afew things in common. All of these areas enable users to interact withthe games from different locations within the layout. All of these havethe ability to track the user's location in the layout, and to provideinteraction with the user that is specific to the user's location. Allof these have some kind of display, and while the display is differentfor the different locations, the display facilitates the userinteracting with the game. In addition to the display, however, thereare also position controllable lights, and also sound that iscontrollable by the game controller to different locations.

The specific games can be optimized for use in different specificlocations. Two of the specific aims are described herein. The first gameis called “spotter”. This is a hidden picture game with trivia andcompetition intended to be played in the dome.

The story line is as follows:

Claim victory as an expert Spotter by placing hats onto famous heads.Can you find a Super Bowl Champion? A Hollywood Starlet? A famousmonkey? Use your incredible eye to catch the recognizable pop crew fromyesterday and today. Can you take the Top Spot?

The goal of the game is to place the most hats on the recognizablecharacters.

Group Goal

The goal for each round is to have the most hats at the end of the gamein comparison with previous rounds and play sessions (see Best SceneEver).

Setup

The world screen shows the People.

The players each receive an iPod Touch that acts as their Hat Deployer.

Description

Players start by logging into their iPod Touch, taking a picture ofthemselves, choosing an avatar, and choosing a hat. Their picture andhat instantly appear on the Scoreboard on the large display. They eachare automatically given an assignment. Each assignment is simply a nameor identifier for a person to “hat” on the screen.

The iPod Touch screen turns into a touchpad and a reticule/hatcombination representing the player appears on the large screen. Inorder to complete assignments, players must move the avatar toparticular “people” on the screen and place a hat on that person's head.The avatar is moved using the accelerometer in the iPod Touch.

The game is made up of three timed rounds and the player with the mosthats at the end of the game wins.

Assignments

On the player's iPod Touch are slots for three assignments and aninventory. Assignments work on a branching structure—as players satisfythe requirements, new ones of a greater difficulty appear. There arealso fewer assignments available as the players get to more difficultbranches, which means that sometimes players are competing with oneanother to complete the same task (and be forced to stack hats). Playersdo not need to finish the assignments in any particular order and get anew one immediately upon finishing another one.

The Inventory

Items other than Hats, come in limited quantities. Each player has aninventory, which can hold Apples, Eggs, Pies, and Umbrellas. Someassignments reward the player with one or more items, as indicated onthe Assignment List.

An endless loop of people dropping onto the screen and falling from thebottom. The people vary in size. At first in a traditional “large infront, small in back” faux 3D perspective, but then more and more randomdistribution of sizes.

People that have been “hatted” by a player will slowly recede into thebackground, but always stay present on the screen, unless an appleknocks off the hat. Assignment targets also recede into the backgroundover time to make “hatting” them more difficult.

Hats Deployment

Each player has a hat deployer (iPod Touch) that they use to control thereticule on the screen. This deployer also shows the currentassignments. Once a player puts the reticule on a person they need tofind, they hit a button and the hat appears on that person. If a hat isalready on a person, new hats are stacked (called hat stacking).

Players begin the game by choosing which type of hat they want to deployand the type of reticule to control. Hats are unique per each player.

Scoreboard

The scoreboard is on the large display and shows each one of theplayer's faces along with their chosen hat. The scoreboard is ordered inreal-time showing the player that has the most hats on the screen. Asplayers place more hats, the scoreboard will reorder to show whichplayer is in the lead.

Apples

Apples have the ability to knock a hat (or hats if they are stacked) offof a person on the screen. This affects the number of people the targetplayer has “hatted” and affects their place on the scoreboard.

Pies

Pies come in a variety of flavors, which determine their color andlongevity on the screen. If a player throws a pie at a person without ahat, that person cannot receive a hat until the pie drips offcompletely. People wearing hats are unaffected by pies.

Eggs obscure a large part of the screen—as if someone threw an egg atthe physical screen. The entire spread slowly drips down and disappearsafter a set period of time. While an egg is on the screen, playerscannot see any of the people behind the throw—which means that no hatscan be placed while the egg is still blocking the view. Eggs can be usedoffensively or defensively.

Umbrellas can be placed above the head of a person on the screen(whether they are wearing a hat or not) and prevent anything bad fromhappening to them over a set period of time—this means they will not beaffected by apples, pies, or eggs as long as the umbrella is present.

Shout Hints

Shout Hints allow a player to call out a specific name, such as “JohnWayne,” and have that person's head get larger on the screen, thereforemaking it easier to find. If nothing happens to an enlarged head after aset period of time (meaning that no one puts a hat on or throws an itemat it), the head (and person) floats off of the screen. Each playerstarts with 2 Shout Hints at the beginning of the game.

Players can also get a hint by tapping on the assignment on the iPodTouch. This will bring up a picture of the target's face.

Hat Stacking

If a player has an assignment that already has a hat, they may stacktheir hat on top of that person as well. This is a risky move, however,because another player is more likely to use apples on stacked hats.

Errors

Players will undoubtedly make mistakes throughout the game and initiatea bad deployment. When this occurs, the hat simply falls away and is notplaced on the incorrect target.

Rounds

There are three rounds of Spotter, varying in length between one and twominutes. Each set of rounds is named with a unique title (such asCosmopolitan or Chieftain) and the date. This makes it easier forplayers to remember which games they participated in over time. At theend of each round, a round winner is announced and at the end of thegame, the meta-goal Best Scene Ever is compared, before the next gamebegins.

Difficulty

As the game progresses and players complete more assignments, there aredifferent ways that the difficulty increases.

1. The assignments use more difficult identifiers. Instead of having aperson's name (“Barack Obama”) it may have a piece of trivia (“The 44thPresident”).

2. The speed in which new “people” that appear on the screen and thenrecede increases. Also, the total number of that particular targetperson on the large display decreases. This means that there may be 10Barack Obama's in the first round, but only three in the third round,making him harder to find. Also, he gets smaller and farther “back”quicker than in earlier rounds.

3. The number of items in the game increases. Later assignments rewardthe players with more and more “griefing” items.

Ending the Game

After three rounds of play, the player with the most cumulative hats is“crowned” the winner and recognized on the large display. The final BestScene Ever comparison moment occurs and the group's total success isshared.

Best Scene Ever

Once the game has completed, a snapshot of the scene is taken andcompared to previous play sessions. The more hats present, the betterthat the group has done on the whole.

Game Scenario Narrative

Shawn enters the space with his friend Karen to play Spotter. Shawn's abig gamer, but Karen is not.

They receive an iPod Touch and see that the game is called Spotter. Theroom is filled with about 20 other players. The space is lit well andfeels playful. The iPod Touch has instructions on how to continue.

They each take their picture and make selections as indicated on theiPod. Shawn chooses to use a Fez hat and the Wing reticule. Karenchooses a Sombrero hat and the Finger reticule.

Each of their pictures appear on the screen as part of the scoreboard.They are wearing the hats they chose.

A short introduction animation plays. They have to use the iPod tocontrol the reticule on the screen. The players will be putting hats oncelebrities to complete assignments—seems pretty easy, like amulti-player “Where's Waldo.”

While the introduction is playing, Shawn and Karen are about to movetheir reticules around the screen. Shawn is a natural and Karen gets thehang of it pretty quickly.

The introduction finishes and pictures of people start appearing on thescreen—some from the top, some from the bottom. They are big,small—sometimes even upside down. The whole scene is immersive andwhimsical.

Karen looks at her three assignments: “Barack Obama,” “Bugs Bunny,” and“Frankenstein's Monster.” She sees that her reticule is pretty close toJohn Lennon—so she hones in on him and puts the Sombrero on his head.There's a lighting flare, her iPod vibrates, and she gets points on thescreen. The whole sequence is very exciting! A new assignment appearsand she continues to play.

Later in the game, Shawn is behind and begins to frantically finishassignments, sometimes stacking hats onto people with hats alreadythere. In a short period of time, he hats Michael Jordan, MichaelPhelps, Shawn Johnson, Usain Bolt, and Muhammad Ali.

Karen gets frustrated trying to find John Wayne. She's been holding ontothat assignment since the beginning of the round. She uses a Shout Hintand shouts his name. His head gets really big, but before she can put ahat on it, someone throws a pie at his face, blocking her!

Shawn wins the first round and Karen comes in second in the secondround. Karen would have won, but someone used an apple to knock off astack of hats that included her sombrero!

The timer appears during the third round and in the final moment, Shawnis able to place a hat to complete a very difficult assignment and takethe lead. Karen gets eighth place, which isn't that bad considering itwas her first time.

The entire group's effort is compared to other play sessions and itturns out that they placed more hats than any other group. The entireaudience cheers.

The outro animation happens and players return the iPods while the spacetransitions to an intermission moment.

Moment-By-Moment Player Description

Player enters the WorldPlayer sees the big screen displaying ambient imagery and animationPlayer receives an iPod TouchPlayer receives instructions on how to continue via the iPodPlayer takes her/his picturePlayer selects a hatScoreboard is populated with player's face and hatPlayer selects a reticulePlayer uses the iPod to control the reticule on the screenPlayer is instructed to wait until all players have joined the gameA short introduction animation plays when all players have joinedThe screen is populated with “people”Player receives a one assignment (eventually getting three)Round 1 beginsPlayer looks for the right facesPlayer finds a facePlayer directs the reticule to the facePlayer deploys a hat to the face—it is the correct faceA positive environmental sound is triggeredA lighting flare emits in the WorldPlayer's iPod vibratesPlayer looks for facesPlayer finds a facePlayer directs reticule to the facePlayer deploys hat to the face—it is the incorrect faceA negative environmental sound is triggeredPlayer's iPod vibratesPlayer finishes first two roundsA timer appears on screen in the final momentPlayer wins or losesPlayer sees scoreboard appear on screenScoreboard includes individual scores and the group scoreThe group's success is compared with previous sessionsThe outro animation beginsThe intermission moment begins

The next game is a Time Based Flow called Spotter.

Pre-game

1. iPod Touches are placed face up on a table with the Spotter apppre-loaded. The face of each player is on a screen or, in the case of aplayer with a missing picture, a silhouette.

2. The players each pick up the iPod that displays her or his face.Before a single player hits “Ready,” the large display is a closedcurtain with the Spotter Logo on it.

3. The players move out onto the floor in front of the large display andhit “ready.” When a player hits “ready,” their face or silhouette (if noface available) appear on the scoreboard. Then their hat reticle appearsat the middle of the screen and sweeps up to the player's score “icon.”They are able to move the reticle around the screen and place a hat onany of the three characters on the screen while waiting for the otherplayers. They are also able to “stack hats” and throw apples to clearaway the hats on a character's head. If the hat stack gets too high, itis automatically cleared.

On the first “Ready” click, the curtain pulls back to reveal 3characters that can receive hats.

There is text and imagery on the screen that says, “Practice puttinghats onto character's heads and using apples to knock the hats off. Youcan also stack hats—give it a try!”

Countdown

4. When the final player hits “ready,” a 20 second countdown appears(this may be adjusted). The countdown gives the last player a chance tomove around the screen and get acquainted with the system before thegame begins. Each player is given her or his first assignment—a singlename that becomes active when the countdown ends.

After the final player hits “Ready,” a 20-second countdown begins.

After 15 seconds, the curtain closes and displays this text, “Check yourassignments now and good luck!”

5. During the last 5 seconds of the countdown (to be finalized intesting), the curtain starts opening slowly. During this time, playerscannot place hats until the timer has completed. The screen is slightlydimmed with the reticles at full brightness so players do not lose theirspot. A sound and lighting flourish trigger the beginning of the game.

When the final five seconds are done, the curtain pulls back and thegame begins.

Round 1

6. The first round lasts two minutes (to be finalized in testing).Players start with a single assignment. When they have completed theassignment, two more appear. When they have completed one moreassignment (the second assignment since the beginning of the game), twomore assignments appear. Once they have three total assignments, playerswill have three assignments for the rest of the game. If a player doesnot “unlock” a second or third assignment slot during the first round,they will have to “unlock” them in a subsequent round.

The bottom LED acts like a ticker with information about what ishappening on the screen. The information is all character-based.

Information is triggered whenever a character is hatted, hit by an appleor hit by a pie.

Text for being hatted, “[Character Name] is now wearing a [hat name] !”Text for being apple′d, “The [hat name] (and [hat name] . . . Ifstacked) was totally knocked off of [character name] using an apple!”Text for being pied, “[Character name]'s face is covered in pie!”

7. The first round only has Hats and Apples as available options to theplayer. Each player has unlimited Hats and begins with a single Apple.As the round progresses, Apples are rewarded every so often forsuccessfully completed assignments.

8. The scoreboard updates in real time as players place hatssuccessfully or the hats are knocked off.

Round 1 Countdown

9. Round 1 ends with a 10 second (to be finalized in testing) countdown.A rush of wind blows across the physical space and the virtual space,clearing all of the non-hatted characters (or all of the characters ifthis is not possible).

Each round ends with a 10 second, on-screen countdown.

The first round ends with a huge gust a wind moving across the screen.

Each round end concludes with the curtain closing.

First Intermission

10. The large display then shows a 20 second countdown (this may beadjusted) until Round 2 begins. The screen shows new instructional textabout what is happening in Round 2, specifically that there will be morecharacters, character transitions are faster, and Apples are active. Inaddition to the instructional text, the top 3 players are highlighted inthe center of the large display. Halfway through the countdown, playersreceive brand new assignments.

The top 3 players are shown on the screen, starting with #3, thenrevealing #2, and #1.

The first intermission displays this text on the screen, “Charactersappear and disappear faster—and watch out for apples!”

11. During the last 5 seconds of the countdown (to be finalized intesting), the curtain slowly opens. During this time, players cannotplace hats until the timer has completed. A sound and lighting flourishtrigger the beginning of Round 2.

Round 2

12. Round 2 is 1 minute and 30 seconds long (to be finalized intesting). The round has a higher frequency and variety of “surprises”that move across the top section of the large display.

Round 2 Countdown

13. Round 2 ends with a 10 second (to be finalized in testing)countdown. An earthquake clears all of the non-hatted characters (or allof the characters if this is not possible).

Each round ends with a 10 second, on-screen countdown.

The second round ends with Godzilla crossing the screen.

Each round end concludes with the curtain closing.

Second Intermission

14. The large display then shows a 20 second countdown (this may beadjusted) until Round 3 (the final round) begins. The screen shows newinstructional text about what is happening in Round 3, specifically thatthere will be more characters, character transitions are even faster,and Pies and Eggs are active. In addition to the instructional text, thetop 3 players are highlighted in the center of the large display.Halfway through the countdown, players receive brand new assignments.

The top 3 players are shown on the screen, starting with #3, thenrevealing #2, and #1.

The second intermission displays this text, “Pies knock the hat off of aplayer's head and Eggs splatter all over the screen!”

15. During the last 5 seconds of the countdown (to be finalized intesting), the curtain slowly opens. During this time, players cannotplace hats until the timer has completed. A sound and lighting flourishtrigger the beginning of Round 3.

Round 3

16. Round 3 is 1 minute and 15 seconds long (to be finalized intesting). The round introduces eggs and pies (and does not have apples),the highest frequency and variety of “surprises” that move across thetop section of the large display, and the most density and transitionspeed of characters.

Round 3 Countdown

17. Round 3 ends with a 10 second (to be finalized in testing)countdown.

Each round ends with a 10 second, on-screen countdown.

The third, and final, round ends with an eruption, which just displayssmoke coming up from the bottom of the display and fog filling the space(TBD)

Each round end concludes with the curtain closing.

End of Game

18. Fog fills the space and moves across the screen. The final score isrevealed on the large display, particularly highlighting the top 3hatters. In addition, the group's score is compared to all other playsessions and ranked.

Between Game Intermission

1. The large display transitions from the end state of the game to alooping video (TBD) that gives the atmosphere of a social club. Thelighting and sound transition to allow for social activities, such asdancing, talking and drinking. The players return their iPods to thefacilitators so they can be loaded with the next game. A countdown untilthe next game appears on the screen (roughly 2-3 minutes).

The SnB game is described as follows:

This can be played in the “World” part of the ESC.

Story Pitch

Beneath a haze of chaos lies a secret prize—two teams battle to uncoverthe mystery and conquer the World by using sophisticated vacuumtechnology. Only one group will dominate and be the ultimate suckers!

Goal

To score the most points for your team before the reveal.

Setup

The World Screen shows a moving particle system with other objects alongwith a grid of Turrets.

The Floor indicates different “spaces” to stand to control the Turrets.

The Players receive an iPod Touch that controls the Nozzle on theTurret.

Players start by splitting into two teams and choosing a position on thefloor in front of the large screen. Each of the spaces on the floorcorresponds to a turret on the screen. Players register their spot tocontrol the particular turret and assign that turret to their team.

The screen displays a large particle array with two main types ofobjects floating across the entire space: (1) particles and (2) hazards.The iPod Touches display a switch that allows the players to change fromsuck to blow, as well as a variable slider for controlling theconcentration of the “power”—whether it's a narrow and strong beam or aweaker, but spread out beam.

The goal of the game is to gain the most points before the hidden objectis completely uncovered. Particles score a minimal amount of points,bonus objects score significantly more and hazards take away points, aswell as some other annoyances.

Turrets

Each player controls a turret, which is in a fixed position on thescreen. The turret configurations may vary depending on round (TBD).Turrets cannot move. Each turret has a single “nozzle” that the playerscontrol.

Nozzles

Nozzles are attached to turrets and can move 360°. The nozzle can varyin suck/blow strength by changing the width—a wider nozzle allows largerobjects to be sucked in and distributes the power to a larger swath, butalso is weaker; a narrow nozzle allows smaller objects to be sucked, butconcentrates the strength as a strong beam.

Teams

There are two teams that play SnB: Red versus Blue. Each team gets tochoose which turret they want to control at the beginning of the game.Beginners will have a more random distribution, while those that haveplayed a couple of rounds will seek out specific spots for them andtheir teammates. Teams need to work together to bring in the mostpoints—by grabbing larger particles together and repelling largerhazards together.

The more points that an individual player accumulates, the greater thepower their nozzle has. Essentially, the more players “suck,” the morethey can “suck” (and blow).

All objects on the screen, except for the turrets, “float” as if in ashallow pool of water. The larger objects have a weight to them thatmakes them more difficult to move. Some particles (in later rounds) haveinteresting shapes, such as rods, which can spin through the space andhave varying levels of resistance depending on the angle of the pull orpush.

Any particle, depending on size, can get stuck in a nozzle. The playermust either blow that object away (if it is too large) or can adjust thesize of the nozzle to accommodate the larger mass.

Give the player points based on the size of the particle. Largerparticles=more points. It can be odd shapes in later rounds. The systemtakes away points based on size. Larger particles=more points takenaway.

There are also a number of hazards. Point Loss—Lose 300 points ifswallowed. Power Decrease—Temporarily lose power. NozzleBlocker—Temporarily lose the ability to swallow. Confuser—Temporarilyhave controls reversed. Blinders—Temporarily be covered

The most plentiful object on the screen is particles of varying sizesthat float around and can be sucked or blown by the nozzles. Particleshave a point value based on size—the larger the particle, the higher thevalue. Particles are either positive (meaning they reward the playerwith points) or negative (meaning they take away points). The morepoints a player has, the stronger their nozzle.

Game Scenario Narrative

Nancy enters the ESC World space and receives an iPod Touch. She's neverplayed a game like this before, so she's a bit nervous.

The game is called SnB. She is given the option of choosing one of twoteams or just selecting “Place me on a team.” She is put on the Blueteam.

The iPod then asks her to select a Turret position. She really doesn'tknow how that will affect the outcome of the game, so she selects “Pickone for me” and follows the instructions. She has to go stand on a spaceon the floor indicated by a bright spotlight.

Once in her spot, Nancy is able to move the turret around on the largescreen. That part is really easy. There are other controls on the iPod,but she knows she has the basics down. The space is very large with acouple dozen other players finding their spots.

The game starts with an intro animation and the instructions, whichscreen pretty each. Use the iPod to control a turret. Use the turret tosuck up positive particles (that are blue) and blow away negativeparticles (that are red). The larger the particle, the more points yougain or lose. There are also hazards, which look different, so it's bestto avoid those altogether.

Nancy understands the basic idea. She wants her team to win, so she'svery into avoiding the bad stuff. The game starts with very few hazardsor negative particles, which makes it pretty easy. Nancy learns that byadjusting the nozzle size, she can change the width and power of thevacuum. This gives her a lot of control over her success. She can evenfeel the particles being sucked into her device.

The particles start getting larger and heavier, which makes the gamemuch more difficult. Nancy starts shouting to her teammates to worktogether. If she uses her nozzle to blow good particles toward otherblue turrets, the team will win.

Nancy accidentally sucks up a Confuser Hazard. For a short period oftime, all of her controls are completely reversed, which makes the gamevery difficult and frustrating.

Just as Nancy regains complete control of her turret, a Weather Hazardstarts to affect the entire system. Particles start moving in wavesacross the screen, making them harder to predict and capture.

An image begins to appear behind the particles and the final countdownbegins. The Blue team pulls a last minute win because they manage tocapture a lot of high-scoring large particles by working together.

A figure appears from behind the screen, revealing a photo of a guy'sumbrella being pulled away by a large gust of wind. The group cheers andis anxious to play again.

Time Based Flow: SnB (Demo Edition)

Pre-Game

1. iPod Touches are placed face up on a table with the SnB apppre-loaded. The “Turret Map” symbols are reflected onto the floor usinggobos. The large display shows the SnB logo.

2. The players pick up an iPod and walk to the corresponding spot on thefloor. When they are in the correct space, they hit “ready” on the iPodscreen.

3. Once the final player hits “ready,” the large display zooms into theglobe at the center of the logo and all of the turrets appear on thedisplay. The players are able to move their turret on the large display.There are no particles present during this period, so the player simplylearns how to spin the turret and has an opportunity to strategize withother team members. Additionally, instructional text and a 20 secondcountdown are at the center of the large display. During the last 5seconds of the countdown, each team is individually highlighted usinglighting effects.

The instructional text at the center of the large display is, “Tilt yourcontroller to move your turret. The team with the highest score wins thegame—each particle type is described on your iPod!”

The instructional text disappears when the particles begin to fill thelarge display.

Stage 1

4. On completion of the countdown, particles begin appearing on thelarge display and Stage 1 is triggered. There are 4 “stages” to the gamethat go back to back without interruption.

5. Stage 1 consists entirely of positive particles. The players canadjust the strength of their suction power and use a blow “pulse” asneeded (although it will not be necessary during Stage 1). As theplayers suck up positive particles, the LED below the large displayshows the team score as a “tug of war” style color band. The turretsalso display each player's score as the game progresses.

Stage 2

6. Stage 2 begins roughly 1 minute after the beginning of the game. Thelighting and sound in the space shift to signal a mood change andnegative particles are introduced.

Stage 3

7. Stage 3 begins a minute after the beginning of Stage 2. Hazards areslowly introduced into the system in the following order: Point Loss,Power Decrease, and Nozzle Block (push only). Each hazard looksdifferent and is explained in the center column on the iPod. Thelighting and sound in the space shift to signal a mood change.

Stage 4

8. Stage 4, the final stage, begins a minute after the beginning ofStage 3. This stage has two parts. The first part of Stage 4 introducesglobal hazards such as wind. 30 seconds into Stage 4 triggers thefinale, wherein no new particles are introduced into the system. Eachchange is signalled using a lighting and sound shift.

Additional aspects are described herein.

In one embodiment, the games are “hosted” by a host machine thatcommunicates with the different features which form parts of the game.These different features include all the parts described above, andthose described herein including the mobile controller connections. Inone embodiment, this is formed by a Mac Pro computer with the followingtechnical specifications, with 3.5 GHz 6core; 12 MB of L3 cache; 16 GB(4×4 GB) of 1866 MHz DDR3 ECC; 1 TB PCIebased flash storage;  Dual AMDFirePro D700 GPUs with 6 GB of GDDR5 VRAM each. This host machine runsall the software necessary for the Unity3D games to support 30+simultaneous mobile controller connections with low latency and highbandwidth communication.

The system supports a sustained throughput of at least 900 kbps ofmessage data and a sustained message processing throughput of 1200messages per second without having a major impact on CPU load. Thatmeans that additional processing power is dedicated to the Unity3D gamelogic even when the messages are being processed as described herein.

The host system is configured using a game development kit, describedherein. The game development kit operates by simulating the multiplecontrollers to which the system communicates. These simulations use iOSportable devices with iOS installed, e.g., an iPod touch or iPhone.

The host system launches games using a game launcher which acts as ahost application for the currently running game. The host system handlesvarious functions for the game including drawing content even when agame is not running and it also starts and stops games in response tocontrols from a game administrator.

The game administrator or “docent”, has control over the game playback.That control is carried out from the portable device that is configuredor enabled to be the docent. The docent controller can therefore be oneof the portable clients. This client can control when games begin andcan choose the next game to execute. In one embodiment, however, thegames execute automatically.

The game launcher identifies games installed on the computer using aproduct name unique identifier. When the game launcher receives amessage from the docent application, it performs its own housekeepingand then transmits the necessary information to the currently runninggame, or to a new game, if the transmit is after the game has beenstarted. However, starting up a game program is distinct from startingthe game (with the first round) once all the controllers are connected.Note: the docent controller never interacts with the regular controllerapplications in an embodiment.

When a game is over, the Slideshow Interstitial launches a slideshow,using the LauncherSlideshow class is used in conjunction with theLauncherConnection class to display a slideshow of full screen imagesand movies in between games. The LauncherSlideshow can be used todisplay advertisements and other marketing assets. ThisLauncherSlideshow class uses images and videos that are stored in thelocal machine located in the EscLauncher/Slideshow folder. The classdefaults to rotate through the images/movies every 10 seconds inalphanumeric order. These default settings can be changed, e.g., usingthe SlideshowLauncher::SetBackgroundImageRefreshTime( )method to set arotation time or other parameters.

The game launcher serves as an intermediate screen in between games. TheEscDocent controller launches games on command during the playing ofthis content. If a game is launched while a movie is playing, the moviesound fades away and the movie is stopped.

After the game ends, the launcher starts showing the next item on thequeue.

The docent, the “EscDocent” is a native iOS app that operates tolaunch/quit games from the EscLauncher. When the docent app is firstlaunched, it will show if it is connected to the server, e.g., via anindication of Connected/Not Connected. If connected to the ESC gameserver, the docent can launch and control the games.

The EscDocent app contains two views: the main view and a detailed view.The main view shows a list of all the games that are currently availableon the local system located in the folder ˜/escgames. The detailed viewallows the docent to start/stop a game and to apply custom settings.

The main view shows a table list of available games. These availablegames can be selected by tapping on them, which will show a prompt toload the game. If OK is selected, the app loads the game. The detailedview shows a spinning loading indicator until it receives a game loadedmessage from the game. This happens once a game has loaded and isconnected to the server. The detailed view contains both the Settingsand Advanced Settings. Settings provide basic functionality such asstarting and stopping a game, while Advanced Settings allow morecustomization of a game.

Settings comes with a number of basic options to select the Round andDifficulty.

Round: 1, 2, 3, 4, 5 Difficulty: Easiest, Easy, Medium, Hard, Hardest

START: Start the game.PAUSE: Pause the gameSTOP: Stop the game (ie stop the current round)NEXT: Go to the next screen. (ie skip the instructions)QUIT: Quit the game

Once options are set, START is selected to start the game. This willtell the game the options that were selected. Once the game is started,the docent can also select PAUSE or STOP.

At any point in a game, any number of NEXT messages can be sent. Thegame developer can use this message to do a number of things like skipinstructions or to send in a special enemy or character into the game.

The game can also be QUIT the game at any time and returned to thenormal view with a game selection.

Prior to a game starting, the administrator can select the round anddifficulty. Once the START button is pressed, these options will beinactive until the administrator STOPs the game.

After scrolling down from the Settings view, there is an AdvancedSettings view to select a number of customizable parameters to apply tothe game.

Advanced Settings comes with two sets of options: Mode and Parameter. Ifthe game is set up to handle these extra options, then the administratorcan use the Docent Controller to set these advanced settings. It is upto the game developer to decide how the mode/parameter values apply tothe game.

In one embodiment, there are 3 modes and each mode allows you to selectfrom 3 button choices. The mode values range from 0-2. There may also be3 parameters with text fields that allow entry of custom strings.

If a game developer chooses to set default advanced settings parameters,the docent parameter text fields are preloaded with the custom text fromthe game.

A game developer may also set up default parameter strings that theDocent controller displays by using the method SubmitParameterStrings () from Server Connection. The controller may set up to 3 parameterstrings. At any point in the game, the user can select APPLY to send theadvanced settings to the game engine.

When games are updated on the local game engine server (880 in FIG. 8),the game launcher (1210 in FIG. 12) sends a message to the docentcontroller (1200 in FIG. 12) to update the list of available games inthe main view. The EscDocent gets the new list of games when it isconnected to the game server and is active.

The EscShowControlInterface abstracts messages that are used tocustomize live lighting effects during gameplay. Lighting effects arebased on the number of teams in play and variables such as color,duration and pattern can be customized.

Lighting controls can be set using a show control interface:

Lighting color for teams

Lighting accents

Lighting wash

A highlight for an individual player

Ambient lighting

Fans

Strobes

Atmosphere

Preprogrammed Lighting events

System setup

The EscAnalytics class is a singleton that is the primary interface fortracking gameplay and player activity utilizing Google Analytics 811(GA). EscAnalytics allows the game developer to track game activitythrough events. It also allows the game developer to track playeractivity like player points awarded or the winning player as well.However any events can be tracked as desired.

The system also supports integration with Google Analytics. In GoogleAnalytics (“GA”), all tracking is performed in the game logic whichmeans that it is invoked through the Mac Pro gaming system. Each time agame is launched, a new session is started. During a session, a gamedeveloper can invoke tracking calls that result in GA events beingtracked.

All GA events have a Category, Action, and Label. The Category is alwaysthe location of the Mac Pro unit. The Action is the name of the game andthe event that is being tracked. The Label is the number of playerscurrently experiencing the event. Each one of these metrics can besearched, sorted, or filtered. A timestamp is automatically recordedwith the event; so the event can be seen in real time or viewed afterthe fact across any time period, at multiple scales (days, weeks,months).

In one embodiment, the functions and processes can be monitored usingGoogle analytics. For example, this can tell the user how muchprocessing power has been used, how many times a game has been played,and other information about the game.

In order to be sure that games can be remotely deployed to the system, agame management system is used. The Game Management is carried out usinga Game deployment system that uses an AWS S3 bucket 812, logic that runson theMac Pro gaming machines 880, and a controller app deployment usingMeraki.

Remote Game Deployment is carried out by using new and updated gamesthat are zipped and uploaded to the S3 bucket 812 in Amazon WebServices; however of course other comparable buckets of this type can beused. Credentials are provided to log in to the AWS Console and uploadthe games. Each game is uniquely named when it is compiled into OSX app(for example, escduckhunt.app). Afterwards, the new or updated game isarchived as a .zip file with an underscore and eight digit date (asMMDDYYYY) appended to the file name, for example,escduckhunt_(—)06152014. zip. Zip files are named in this way for thesync script to function as expected. Only one copy of each game shouldexist in the S3 bucket at any given time. Once in the bucket 812, thegames are synchronized down to the individual machines.

Syncing is performed automatically via a script which runs nightly at 4AM EST provided the game server has a working connection to the Internetand the escuser is logged in. Any files that have not been downloaded tothe game server are downloaded in addition to any files that havechanged since the last sync. Any newly downloaded files will be unzippedand replace existing games on the gameserver. Any games that do notexist in S3 are deleted from the game server's game directory.

One embodiment of the system described above uses the hardware systemdescribed and shown in FIG. 8 along with the software system shown anddescribed with reference to FIG. 9. In this system, the local network800 may be the device that is playing the game. This connects vianetwork 805 to Internet repositories 810 which can include, as describedabove Google analytics 811 and the S3 bucket 812. This also connects vialocal network 815 to wireless network structures shown generically as820 and 825 which may include the game management.

The local network itself includes the unity game engine 850 shown infurther detail as 851 which includes the game UI and event management,as well as the run time bridge and communication middleware. The gameengine connects to the wireless, connects to projectors 855 that producethe output, and also projects to a supernode 860 which controls thelighting system. This also connects to the audio system 862 via MIDI.

In FIG. 9, the main system 900 is shown connected to a single remotesystem 910 here in iPod touch. However, it should be understood thatmany different remote systems can be connected to the single main system900. As described above, the main system 900 includes the game launcher920, connected to the game itself 921 as a compiled game. This may beconnected via XMPP. In addition, each of these are controlled by thecontrol structures, a media sync script, game sync script, gameregistration script, keep alive shell, as well as locations of thecredentials keys and analytics.

The local routing system can use DNS and bonjour. The messagingarchitecture can use ejabberd/XMPP.

Using this system, The ESC gaming platform supports between 30 and 50gamers playing together on a single canvas using commodity mobiledevices and computing hardware.

The Communication Subsystem is an abstraction layer that uses both TCPand UDP as an abstraction layer that sits between the iOS devices andthe Mac Pro that runs the games. It mediates all communication usingboth TCP and UDP protocols. TCP socket connections provide reliable androbust message transmission that will arrive in the same order that itwas sent. TCP communication is ideal for data transfer that must beguaranteed. The downside to using TCP sockets is that they candemonstrate higher latency than UDP communication. Conversely, UDPcommunication is connectionless and thus may be less reliable. This isespecially true when experiencing signal interference and noise which ismore common on wireless networks. UDP messaging delivers messages withlower latency.

The ESC event synchronization provides high throughput performance andlow latency by utilizing each protocol for what it is best suited for.The game developer selects the right method of communication. This isdone by selecting to send events or states.

An event provides communication that is guaranteed to be received and inthe order that the events were dispatched.

A state is a list of variables that can be defined and changed at anytime but are transmitted asynchronously and only when needed.

All TCPbased communication that happens between the mobile devices andthe desktop is established using EscEvent instances. Every EscEvent iscomposed of a name and a list of keyvalues pairs. Both of theseproperties are public on EscEvent instances. An EscEvent is serializedto a string literal with the format,“name:key1=value2,key2=value2,key3=value3”.

All UDPbased communication that happens between the mobile devices andthe desktop is established using a state variable dictionary. EachClient instance stores a state dictionary that it transmits to the gameautomatically. This is done using the ClientSetStateVar method. Thisstate information is transmitted during the next Unity update step.However, a game developer can override this update frequency using theClientConnection SetStateUpdateFrequency method. This method takes aninteger that represents how many times per second the state updates aresynchronized. This frequency cannot be set to less than once per second.

Choosing Between State Updates and Game Events is necessary toefficiently send data between controllers and the game. This requiressome consideration from the game developer. When implementingcommunication game logic, a simple way to choose between events andstate updates is to consider the following question, “is it okay if thisinformation is never received?” If so, use state updates. Otherwise useEscEvents. An example of data that can be dropped without greatconsequence is the iOS accelerometer data. The accelerometer data ischanging constantly and if a state update is lost then the game willsimply receive the next one without anyone noticing. However, a messageto start the game cannot be lost in this way because if it was then acontroller would not be notified that the game had begun.

The gameplay format is carried out by each game as follows:

1. Players hold a controller and wait to join the game2. The controller connects to the game and notifies the player3. The game waits for acknowledgement from the player4. Using the controller, the player indicates they are ready and jointhe game5. The game waits for remaining players to join6. The game starts7. The first round starts8. The first round ends9. The Nth round starts10. The Nth round ends11. The game ends

Each one of the above stages is initiated via an EscEvent. Notificationsfor these stages are exposed to game developers as callbacks. Eachcallback allows the game developer to a chance to change the state andappearance of the game as needed.

Creating a Controller Application is carried out to get a ControllerConnected to the Game. The ClientConnection interfaces with the game.The ClientConnection class acts as an abstraction layer for thenetworking interface. This is done when the controller and the game areconnected to the same network.

The game operates by sending initialization information to thecontroller. This information can include team information, votinginformation, or simply an opportunity for the user to indicate that theyare ready to join the game. This event should normally be the first onereceived by the client and named “init” and include any specialparameters required for the game. These parameters are defined by thegame developer and thus they are optional.

Sending this EscEvent from the Controller application is required forthe game to function properly. After processing the init event, theclient must respond to the game after a user has provided feedback forthe init event. The response event name must also be “init” and be sentdirectly to the game using the DispatchEventToClient method. Thefollowing is a simple example:

// sending a message to the game server ClientConnection connection =ClientConnection.Instance; connection.DispatchEventToClient(newEscEvent(“init”), connection.server);

Each EscEvent that is sent to the server can include an optional list ofkeyvalue pairs. The following is an example for this functionality:

// Sending an event from the client to the game ClientConnectionconnection = ClientConnection.Instance; Dictionary<string, string>properties = new Dictionary<string, string>( ); properties.Add(“key”,“value“); // create special EscEvent EscEvent specialEvent = newEscEvent(“special”, properties); // Send the event the gameconnection.DispatchEventToClient(initEvent, connection.server);Processing Events from the Game

As the game runs, the game will periodically send new information to thecontroller. Events with the following names are sent for all games:

gameStart

roundStart

roundEnd

gameEnd

However, it is up to the game designers to create any special eventsthey need which will be handled by the controller that goes with thegame. All of these events should be processed in the MonoBehavior Updatemethod. All events come from the game which stores the events until theyare processed by the controller application. The following is an exampleof how this would normally be done:

// processing messages from the game ClientConnection connection =ClientConnection.Instance; if (connection.IsConnected( )) { if(connection.server.HasMoreEvents( )) { EscEvent evt =connection.server.GetNextEvent( ); if (evt.name == “some specialstring”) { // do something with event... } } }

Available Callbacks for Clientconnection include the following:

OnConnected—invoked when it has established a connection with the game

OnRegistered—invoked when it has registered itself with the game

OnInitialized—invoked when it has received the init event from the game

OnDisconnected—invoked if something causes the client to disconnect fromthe game

OnHandlePresence—invoked when the game is detected

Creating a Game Application is carried out as follows. Creating a newgame requires using the ServerConnection to interface with thecontrollers. The ServerConnection class acts as an abstraction layer forthe networking interface. A server interface is created for the game.Its best to call this in the MonoBehavior Awake method invoked by theUnity runtime.

After starting the game, the ServerConnection IsConnected method is usedto determine if the connection has been successfully opened. There isalso the OnConnected callback that the instance invokes when theconnection is made. It is invoked once IsConnected will return true.

A connected controller waits for a special “init” event. This event isdesigned to provide an opportunity for the game designer to submitspecial game info to the controllers that attempt to join it. This datacan be anything stored as a list of keyvalue pairs. The following is anexample of such an operation:

// initialize a controller that has just been registeredServerConnection connection = ServerConnection.Instance;Dictionary<string, string> initPayload = new Dictionary<string, string>(); initPayload.Add(“team1“, “defensive“); initPayload.Add(“team2“,“offensive“); // upon registration send init eventServerConnection.InitializeController(client, initPayload);

The game starts by sending one of these initialization events; and afterthe game is running, the controllers submits events to the game. Theseevents get stored in each client object within theServerConnection.clients list until they are processed by the game. Thesystem checks for state changes that the clients have submitted. TheClient.GetStateVar method is to read the latest state information.Consider the following example code:

// processing messages from controllers ServerConnection connection =ServerConnection.Instance; if (connection.IsConnected( )) { foreach(Client client in connection.clients) { while (client.HasMoreEvents( )){ EscEvent evt = client.GetNextEvent( ); if (evt.name == “some specialevent name”) { // do something with event... } } // collect controllerstate information object stateUpdate =client.GetStateVar(“somestatevariable”); } }

Note that state value changes and events are independent of one another.A client might have no more events to process and still have statechanges that can be processed.

To send events to the client, a processServerConnection.DispatchEventToClient is used to supply the EscEventand the Client instance that will receive and process the event.

The following is a list of all the callback actions that theServerConnection class provides:

OnConnected invoked when the game has opened the connection

OnClientConnected—invoked when a new client has connected to the game

OnClientRegistered—invoked when a new client is registered with the game

OnClientDisconnected—invoked when a client has disconnected from thegame

OnClientInitialized—invoked when a client has become initialized withthe game

OnGameStart—invoked when the game launcher starts the game

OnGamePause—invoked when the game launcher pauses the game

OnGameEnd—invoked when the game launcher ends the game

OnParametersUpdated—invoked when the game receives updated parametersfrom a docent remote control

OnNextScreen—invoked when the game receives a “next” button press

Games are preferably team games, e.g., the players are broken up intoteams. The creation of teams has a major impact on how the onsitelighting and effects are controlled. There are distinct options forcreating team games including One team (every person for themselves), or26 competitive teams, or other options discussed herein. The lightingsystem interfaces with the teams. However, the lighting system onlyneeds to be controlled based on which players belong to each team. Thisinformation is needed in order to highlight the lead or other player.The initiation process for all team games should follow these steps:

1. Determine the number of teams2. Gather or assign the player's position and associate that number withthat client3. Invoke lighting commands using the associated player number.

Each person entering the room will either be given or choose a spot infront of the screen. Each spot is indicated by a number on the floor.One such layout is shown in FIG. 10 which shows the player layoutlocations 1 through 30. Each player is assigned with one of thoselocations, either by pre-assignment, or by the player standing in thatlocation. The game itself can either tell the player where to stand orask the player (by a message to their controller) which spot they arestanding on. This number then forms an index that must be used by thegame to group that player into the right team and to highlight them inthe future. The team that the player is on is based upon their positionand the total number of teams. FIG. 11 shows different team layoutswhich can be accommodated when the system is telling the users where tostand. For example, 1100 shows a team layout for use with a game with 6teams, 1105 with 5 teams 1110 for 4 teams, 1115 for 3 teams, 1120 for 2teams, and 1125, for games without teams. Of course, other layouts canbe used, but these are exemplary.

The EscShowControlInterface abstracts messages that are used tocustomize live lighting effects during gameplay to interface andcommunicate with the lights to sending individual lighting effects tothe areas. Lighting effects are based on the number of teams in play andvariables such as color, duration and pattern can be customized.

Once an instance of the Esc Show Control Interface is created, calls tounity are made to customize the available lighting control methods atdefined moments.

Calls to Unity can use the following format

//! Set total available teams, must be <= 6 SelectTeamLightingMode (uintteamValue) //! Highlight individual player for a given durationHighlightPlayer (uint player, Duration duration) //! Specify lightingcolor and duration for a specific team SetLightingForTeam (uint team,LightingColor color, uint timing) //! Specify lighting accent color andduration SetLightingAccents (LightingColor color, Timing timing) //!Specify lighting wash SetLightingWash (LightingColor color, Timingtiming) //! Specify lighting wash pulse SetLightingPulse (Pulse pulse)//! Specify lighting ambient color and durationSetAmbientLighting(LightingColor color, Timing timing) //! Specifylighting fan group and speed SetFans (Grouping groupValue, SpeedspeedValue) //! Specify lighting strobes with a moving patternSetStrobes (Grouping groupValue, Pattern patternValue) //! Invokes ageneric show control event with the given cue number. The cue numbermust be between 0.01 and 9999.99 InvokeLightingCue (uint cueEvent, uintcueVariant) //! Total teams in play Teams: Teams.NO_TEAMS = 0,Teams.ONE_TEAM, Teams.TWO_TEAMS, Teams.THREE_TEAMS, Teams.FOUR_TEAMS,Teams.FIVE_TEAMS, Teams.SIX_TEAMS //! Available overhead lighting thatis based on total teams in play //! Available lighting colorsLightingColor: LightingColor.RED, LightingColor.ORANGE,LightingColor.AMBER, LightingColor.YELLOW, LightingColor.GREEN,LightingColor.CYAN, LightingColor.BLUE, LightingColor.LIGHT_BLUE,LightingColor.MAGENTA, LightingColor.LAVENDER, LightingColor.PINK,LightingColor.WARM_WHITE, LightingColor.NEUTRAL_WHITE,LightingColor.COOL_WHITE, LightingColor.BLACK,LightingColor.RED_AMBER_YELLOW, LightingColor.BLUE_CYAN_GREEN,LightingColor.RED_BLUE, LightingColor.AMBER_BLUE,LightingColor.RED_WHITE_BLUE, LightingColor.RED_PINK_PURPLE // Availablelight groupings Grouping: Grouping.ALL, Grouping.FRONT, Grouping.BACK//! Available intensity levels Level: Level.OFF, Level.LOW,,Level.MEDIUM, Level.HIGH //! Available speed Speed: Speed.OFF,Speed.LOW, Speed.MEDIUM, Speed.HIGH //! Available duration Duration:Duration.SHORT, Duration.MEDIUM, Duration.LONG //! Available movementpattern Pattern: Pattern.LEFTRIGHT, Pattern.RIGHTLEFT,Pattern.CLOCKWISE, Pattern.COUNTERCLOCKWISE, Pattern.RANDOM1,Pattern.RANDOM2, Pattern.ONE_BURST, Pattern.PAPARAZZI // Available pulsepatterns Pulse: Pulse.ALL_FULL, Pulse.ALL_50_PERCENT,Pulse.ALL_25_PERCENT, Pulse.LEFT_RIGHT, Pulse.RIGHT_LEFT,Pulse.CENTER_OUT // Available timings Timing: Timing.ZERO, Timing.ONE,Timing.THREE, Timing.FIVE, Timing.TEN // Available Cue Events CueEvents: ShowControlInterface.CUE_WALK_IN,ShowControlInterface.CUE_GAME_LAUNCH,ShowControlInterface.CUE_FIND_LOCATION,ShowControlInterface.CUE_IDENTIFY_TEAMS,ShowControlInterface.CUE_TRAINING_MODE,ShowControlInterface.CUE_GAME_START,ShowControlInterface.CUE_TENSION_SLOW,ShowControlInterface.CUE_TENSION_MEDIUM,ShowControlInterface.CUE_TENSION_FAST,ShowControlInterface.CUE_TENSION_NONE,ShowControlInterface.CUE_END_ROUND,ShowControlInterface.CUE_INTERMISSION,ShowControlInterface.CUE_ANNOUNCE_LEADING_TEAM,ShowControlInterface.CUE_IDENTIFY_LEADING_PLAYER,ShowControlInterface.CUE_GAME_FINALE

Here are some more Unity Examples:

// access show control interface howControl =ShowControlInterface.Instance; // set team mode to “no teams”showControl.SelectTeamLightingMode(0); // set team mode to “4 teams”showControl.SelectTeamLightingMode(4); // set team mode to “2 teams”showControl.SelectTeamLightingMode(2); // highlight player 2 for a shortduration showControl.HighlightPlayer(2,Duration.SHORT); // set lightingfor team 2 to red over three seconds showControl.SetLightingForTeam(2,LightingColor.RED, Timing.THREE); // set lighting accents to green overthree second showControl.SetLightingAccents(LightingColor.GREEN,Timing.THREE); // set lighting wash color to cyan over three secondsshowControl.SetLightingWash(LightingColor.CYAN, Timing.THREE); // setambient lighting to cyan over ten secondsSetLightingPulse(Pulse.ALL_FULL); // set ambient lighting to cyan overthree seconds showControl.SetAmbientLighting(LightingColor.CYAN,Timing.THREE); // set all fans to medium speedshowControl.SetFans(Grouping.ALL, Speed.MEDIUM); // set strobe lightsfor the front to run clockwise showControl.SetStrobes(Grouping.FRONT,Pattern.CLOCKWISE);

The cues are defined as a special address endpoint combined with apayload of numbers that is sent as a UDP packet (formatted as OSC). Thisallows cues to be constructed from method calls where a developersupplies parameters that determine which exact cue will be sent. The OSCmessages are sent over a physical link between the Mac Pro 830 and thePRG node 860 (via the Cisco switch 820) which provides a robust channelof communication.

Extensibility for the lighting system can be provided. For lightingevents, any arbitrary floating point number can be supplied (even if notyet bound to anything). Extensibility could use programming by FullFlood).

Another way to provide extensiblity is to add new parameters to theShowControlInterface class which is part of the Unity codebase for ESC.This also puts those changes in the programming of the PRG lightingsoftware or hardware.

Move this to the analysitcs above.

The analytics track events, including:

game load

-   -   game start    -   game end    -   game pause    -   round start    -   round end    -   controller joins game    -   controller leaves game

FIG. 12 shows an overall flow diagram between the different modules FIG.12 shows at the top the docent 1200, forming a layer that communicateswith the game launcher 1210, that communicates with the game server 1215that communicates with the multiple different client applications. Thedocent interacts with a number of games shown at 1201, each of which hasa title and ID. In order to start a game, at 1202, the docent creates acommand using the game ID sent to the game launcher with the option toload. At 1211, the game launcher creates a quit game command includingthe game ID to start the operation. This causes the game server to endany current game at 1216, which is which command is sent to the clientapps. The client apps return to their home controller scene at 1221 inpreparation for a new game.

The game server sends at 1217 and 1218 commands to all the differentregistered addresses to load the controller scene for the new game at1222.

At 1203, after giving time for all this to occur, the command for thegame is started. This then sends the game ID to start the command at1212, which causes a game start command to be sent at 1219. This startsthe round at 1230 with the new game.

The docent application can also cause the game to pause 1204, whichsends a command to pause the game at 1213, causing the game pausecommand at 1231 sent to all the registered controllers. This may causethe round 2 at 1232 at which time all the developer events are sent at1233 both to the clients and from the clients.

The game can also be ended at 1205 by the docent at which causes thegame launcher to send a quit game command at 1214, causing the game toend at 1235. Again, this causes the controllers to each return to theirhome controller scene at 1223.

Although only a few embodiments have been disclosed in detail above,other embodiments are possible and the inventors intend these to beencompassed within this specification. The specification describesspecific examples to accomplish a more general goal that may beaccomplished in another way. This disclosure is intended to beexemplary, and the claims are intended to cover any modification oralternative which might be predictable to a person having ordinary skillin the art. For example, other kinds of games can use the techniquesdescribed herein, and other objects can be controlled in this way.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the embodiments disclosed herein may be implemented aselectronic hardware, computer software, or combinations of both. Toclearly illustrate this interchangeability of hardware and software,various illustrative components, blocks, modules, circuits, and stepshave been described above generally in terms of their functionality.Whether such functionality is implemented as hardware or softwaredepends upon the particular application and design constraints imposedon the overall system. Skilled artisans may implement the describedfunctionality in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing adeparture from the scope of the exemplary embodiments.

The various illustrative logical blocks, modules, and circuits describedin connection with the embodiments disclosed herein, may be implementedor performed with a general purpose processor, a Digital SignalProcessor (DSP), an Application Specific Integrated Circuit (ASIC), aField Programmable Gate Array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. The processor can be partof a computer system that also has a user interface port thatcommunicates with a user interface, and which receives commands enteredby a user, has at least one memory (e.g., hard drive or other comparablestorage, and random access memory) that stores electronic informationincluding a program that operates under control of the processor andwith communication via the user interface port, and a video output thatproduces its output via any kind of video output format, e.g., VGA, DVI,HDMI, displayport, or any other form. This may include laptop or desktopcomputers, and may also include portable computers, including cellphones, tablets such as the IPAD™, and all other kinds of computers andcomputing platforms.

A processor may also be implemented as a combination of computingdevices, e.g., a combination of a DSP and a microprocessor, a pluralityof microprocessors, one or more microprocessors in conjunction with aDSP core, or any other such configuration. These devices may also beused to select values for devices as described herein.

The steps of a method or algorithm described in connection with theembodiments disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, using cloud computing, or incombinations. A software module may reside in Random Access Memory(RAM), flash memory, Read Only Memory (ROM), Electrically ProgrammableROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers,hard disk, a removable disk, a CD-ROM, or any other form of tangiblestorage medium that stores tangible, non transitory computer basedinstructions. An exemplary storage medium is coupled to the processorsuch that the processor can read information from, and write informationto, the storage medium. In the alternative, the storage medium may beintegral to the processor. The processor and the storage medium mayreside in reconfigurable logic of any type.

In one or more exemplary embodiments, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media may be any available media that can be accessed by acomputer. By way of example, and not limitation, such computer-readablemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to carry or store desired program code inthe form of instructions or data structures and that can be accessed bya computer.

The memory storage can also be rotating magnetic hard disk drives,optical disk drives, or flash memory based storage drives or other suchsolid state, magnetic, or optical storage devices. Also, any connectionis properly termed a computer-readable medium. For example, if thesoftware is transmitted from a website, server, or other remote sourceusing a coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave, then the coaxial cable, fiber optic cable, twisted pair,DSL, or wireless technologies such as infrared, radio, and microwave areincluded in the definition of medium. Disk and disc, as used herein,includes compact disc (CD), laser disc, optical disc, digital versatiledisc (DVD), floppy disk and blu-ray disc where disks usually reproducedata magnetically, while discs reproduce data optically with lasers.Combinations of the above should also be included within the scope ofcomputer-readable media. The computer readable media can be an articlecomprising a machine-readable non-transitory tangible medium embodyinginformation indicative of instructions that when performed by one ormore machines result in computer implemented operations comprising theactions described throughout this specification.

Operations as described herein can be carried out on or over a website.The website can be operated on a server computer, or operated locally,e.g., by being downloaded to the client computer, or operated via aserver farm. The website can be accessed over a mobile phone or a PDA,or on any other client. The website can use HTML code in any form, e.g.,MHTML, or XML, and via any form such as cascading style sheets (“CSS”)or other.

Also, the inventor(s) intend that only those claims which use the words“means for” are intended to be interpreted under 35 USC 112, sixthparagraph. Moreover, no limitations from the specification are intendedto be read into any claims, unless those limitations are expresslyincluded in the claims. The computers described herein may be any kindof computer, either general purpose, or some specific purpose computersuch as a workstation. The programs may be written in C, or Java, Brewor any other programming language. The programs may be resident on astorage medium, e.g., magnetic or optical, e.g. the computer hard drive,a removable disk or media such as a memory stick or SD media, or otherremovable medium. The programs may also be run over a network, forexample, with a server or other machine sending signals to the localmachine, which allows the local machine to carry out the operationsdescribed herein.

Where a specific numerical value is mentioned herein, it should beconsidered that the value may be increased or decreased by 20%, whilestill staying within the teachings of the present application, unlesssome different range is specifically mentioned. Where a specifiedlogical sense is used, the opposite logical sense is also intended to beencompassed.

The previous description of the disclosed exemplary embodiments isprovided to enable any person skilled in the art to make or use thepresent invention. Various modifications to these exemplary embodimentswill be readily apparent to those skilled in the art, and the genericprinciples defined herein may be applied to other embodiments withoutdeparting from the spirit or scope of the invention. Thus, the presentinvention is not intended to be limited to the embodiments shown hereinbut is to be accorded the widest scope consistent with the principlesand novel features disclosed herein.

What is claimed is:
 1. An interactive game system, comprising: acomputer that runs a gaming system software that communicates withmultiple remote controllers to receive information from each of themultiple remote controllers indicating player actions that have occurredin a game being run by the gaming system software, and also locations ofthe remote controllers indicating locations of players associated withthe remote controllers who took the actions, said computer running saidgaming system software by assigning the multiple remote controllers to aplurality of different teams, where said computer assigns each of theplayers to a team, and assigns each of the players to a position basedon said team, and stores information indicative of the position of theplayer, and where a first action in the game causes an output whichcreates a lighting effect to illuminate a specified player based on saidstored information indicative of position.
 2. The game system as inclaim 1, wherein the computer maintains player locations which arenumbered, and determines team allocations based on a number of teams touse in the game.
 3. The game system as in claim 2, wherein the computersends a message to each of said multiple controllers, each messagetelling a controller which of a plurality of the numbered locations isassigned to the controller.
 4. The game system as in claim 2, whereinthe computer determines the numbered location in which the controller islocated, and assigns that numbered location to a team based on aprestored team map.
 5. The game system as in claim 1, wherein thecomputer sends information to each of a plurality of lighting devices,using both said team information and said location of said players, toprovide lighting effects which are specific to the teams and aredirected at a location of members of the team.
 6. The game system as inclaim 1, wherein information is sent from the computer to thecontrollers in a first way which guarantees delivery to the controllers,for more important game information, and in a second way which does notguarantee delivery to the controllers for less important gameinformation.
 7. The game system as in claim 1, wherein one of saidremote controllers is a docent controller that controls aspects of thegame, and the computer receives game controlling information from thedocent controller.
 8. The system as in claim 1, wherein said computersystem controls producing an audio output directed at only a portion ofa room associated with one of said teams.
 9. An interactive game system,comprising: a computer that runs multiple different games by producingoutputs indicating said multiple different games, said computerobtaining information indicative of teams in the games, said computercommunicating said outputs with multiple remote controllers, saidoutputs including a location for each of said multiple remotecontrollers based on a team for each controller; and said computercommanding a game effect to one of said locations based on an action inthe game, said location being based on a team assignment.
 10. The systemas in claim 9, wherein said computer assigns controllers to teams, andsends a message to each controller indicating a location where thatcontroller should be located in order to be part of said team.
 11. Thesystem as in claim 9, wherein the computer receives informationindicative of locations of the remote controllers in the game.
 12. Thesystem as in claim 11, where a first action in the game causes an outputwhich creates a lighting effect to illuminate a specified player basedon said location.
 13. The system as in claim 9, wherein the computermaintains player locations which are numbered, and determines teamallocations based on a number of teams to use in the game.
 14. Thesystem as in claim 13, wherein the computer determines the numberedlocation in which the controller is located, and assigns that numberedlocation to a team based on a prestored team map.
 15. The game system asin claim 9, wherein information is sent from the computer to thecontrollers in a first way which guarantees delivery to the controllers,for more important game information, and in a second way which does notguarantee delivery to the controllers for less important gameinformation.
 16. The game system as in claim 9, wherein one of saidremote controllers is a docent controller that controls aspects of thegame, and the computer receives game controlling information from thedocent controller.
 17. A method of playing in an interactive gamesystem, comprising: in a mobile controller, receiving information from agame computer indicating a game, said mobile controller receivinginformation indicating which of a plurality of teams the mobilecontroller is assigned to and information about the team, said mobilecontroller sending game information to the game computer and sendinglocation information indicating the location of the mobile controller,to the game computer, and said mobile controller receiving a game effectthat is based on a team assignment.
 18. The method as in claim 17,wherein said controller is assigned to a team, and receives a messageindicating a numbered location where that controller should be locatedin order to be part of said team.
 19. The method as in claim 17, whereinthe controller sends information indicative of a numbered location inwhich the controller is located, and receives a team allocation based ona prestored team map.
 20. The method as in claim 17, wherein informationis received on the controllers in a first way which guarantees deliveryto the controllers, for more important game information, and in a secondway which does not guarantee delivery to the controllers for lessimportant game information.